//package com.framework.rocketmq.component.baseRocketmq;
//
//import lombok.extern.slf4j.Slf4j;
//import org.apache.rocketmq.client.producer.DefaultMQProducer;
//import org.apache.rocketmq.client.producer.SendCallback;
//import org.apache.rocketmq.client.producer.SendResult;
//import org.apache.rocketmq.common.message.Message;
//import org.apache.rocketmq.common.message.MessageQueue;
//import org.apache.rocketmq.remoting.common.RemotingHelper;
//
//@Slf4j
//public class BaseRocketMQProducer {
//
//    public void sendMsg(String msg) {
//        try {
//            // 核心属性
//            DefaultMQProducer producer = new DefaultMQProducer("BaseDefaultProducer");
//            // 服务地址
//            producer.setNamesrvAddr("");
//            producer.start();
//
//            Message message = new Message("BenchmarkTest", "TagA", msg.getBytes(RemotingHelper.DEFAULT_CHARSET));
//
//            // UDP发送消息（该方法不管消息是否发送成功）
//            producer.sendOneway(message);
//
//            // 同步发送消息
//            SendResult send = producer.send(message);
//
//            // 异步发送消息
//            producer.send(message, new SendCallback() {
//                @Override
//                public void onSuccess(SendResult sendResult) {
//                    log.info("发送成功,业务处理");
//                }
//
//                @Override
//                public void onException(Throwable e) {
//                    log.info("发送失败,业务处理");
//                }
//            });
//
//
//            // 通过 MessageQueue发送
//            MessageQueue messageQueue = new MessageQueue();
//            messageQueue.setBrokerName("ssss");
//            messageQueue.setQueueId(2);
//            messageQueue.setTopic("queueTopic");
//            producer.send(message,messageQueue);
//
//
//        } catch (Exception e) {
//            log.error("发型消息失败，原因：", e);
//        }
//    }
//
//
//    /**
//     * topic 是一个逻辑的概念，并没有实际的组件去处理，真正去控制消息发送到哪个队列的是两个组件
//     * MessageQueue   指定一个固定的队列
//     * MessageQueueSelector  这下面又有三个策略 hash  随机   自定义
//     *
//     */
//}
